package com.wnxy.mallserver.config;

import com.wnxy.mallserver.filter.AuthFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.annotation.Resource;


/**
 * 过滤器的配置类
 * 用于配置过滤器的过滤逻辑--即过滤哪些请求和执行顺序（过滤器的执行也有先后顺序）
 */
@Configuration
public class filterConfig {
    @Resource
    private AuthFilter authFilter;

    @Bean
    public FilterRegistrationBean<AuthFilter> registrationBean(){
        //创建bean对象
        FilterRegistrationBean<AuthFilter> bean = new FilterRegistrationBean<>();
        //设置注册的过滤器，该过滤器是自己写的那个过滤器，因此将该过滤器进行注入
        bean.setFilter(authFilter);
        //设置过滤的请求（springMVC中是/**）
        bean.addUrlPatterns("/*");
        //设置执行顺序--数字代表顺序，数字越小越先执行。如果项目中存在多个过滤器，需要指定这些过滤器的执行顺序
        bean.setOrder(1);

        return  bean;

    }
}
